Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸 您所在的位置:网站首页 免费在线将 PNG 批量转换为 JPG 图片 Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

2024-06-24 21:15| 来源: 网络整理| 查看: 265

---------------Pillow教程集合---------------

Python项目18:使用Pillow模块,随机生成4位数的图片验证码

Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印

Pillow教程05:NumPy数组和PIL图像的相互转化

Pillow教程06:将图片中出现的黄色和红色,改成绿色

Pillow教程07:批量将png图片,合成GIF动态图

Pillow教程08:调整图片的亮度+对比度+色彩+锐度

1.图片的格式多种多样,常见的有bmp、jpg、png、gif、tiff、psd、ai、webp、eps、svg、cdr、pcd、dxf、raw等。这些格式各有特点,适用于不同的场景和需求。 bmp:是一种与硬件设备无关的图像文件格式,使用非常广泛。它支持1-24bit色彩,无损保存图像每个像素的信息,因此文件通常比较大。 jpg(或jpeg):是一种常见的、有损压缩的图像格式,被广泛用于数字照片的存储和传输。通过去除图像中一些肉眼不易察觉的数据以节省存储空间。 png:是一种无损压缩格式,支持24bit色彩,压缩不失真并支持透明背景和变显图像。PNG格式图像文件消除图像文件的锯齿边缘效应,可以得到平滑的边缘图像。 ICO (Icon) 是一种用于图标文件的格式,通常用于存储应用程序图标、文件夹、文件等在图形用户界面(GUI)中的小图像。这些图标通常很小,以便在工具栏、菜单或其他用户界面元素中快速显示。 gif:是一种动画和简单的短视频格式,只支持256色,通常用于网页和社交媒体上的动画图像。同时支持透明背景和动画。 tiff:是一种高质量的无损压缩格式,通常用于印刷和出版行业。它支持多种色彩模式,包括RGB、CMYK等,并且具有灵活的标签功能,可以存储大量与图像相关的信息。 raw:是数码相机拍摄照片时最常用的格式之一,它是一种未经压缩的图像格式,保留了相机捕捉的所有信息。需要专门的软件进行处理和转换才能成为常见的图片格式。 webp:是Google开发的一种同时提供了有损压缩与无损压缩的图片文件格式,派生自图像编码格式VP8。 2.使用Pillow图像格式的读取、处理和保存,来实现JPG、PNG、ICO和BMP等格式互转。另外,保存图像时指定格式参数(如’JPEG’、‘PNG’)是很重要的,因为Pillow会根据这个参数来决定如何编码图像数据。如果不指定格式,Pillow会尝试根据文件扩展名来猜测格式,但这并不总是可靠的。 在这里插入图片描述

from PIL import Image # 1.JPG转PNG def jpg_to_png(): # 1.打开JPG图像 jpg_image = Image.open('input.jpg') # 2.保存为PNG格式 jpg_image.save('output.png', 'PNG') # 2.PNG转JPG def png_to_jpg(): png_image = Image.open('input.png') png_image.save('output.jpg', 'JPEG') # 3.PNG转BMP def png_to_bmp(): png_image = Image.open('input.png') png_image.save('output.bmp', 'BMP') # 4.PNG转ICO def png_to_ico(): png_image = Image.open('input.png') png_image.save('output.ico', 'ICO', sizes=[(32, 32)])

如果你想批量转换指定的图片格式,可以试试以下代码。os.path.splitext() 是os.path模块中的一个函数,用于将文件路径拆分为文件名和扩展名两部分。这个函数返回一个元组,第一个元素是文件名(不包含扩展名),第二个元素是扩展名(包含点号 .)。

# @Author : 小红牛 # 微信公众号:WdPython from PIL import Image import os # 1.设置输入和输出文件夹路径 input_folder = '素材图片' output_folder = 'output_images' # 2.如果输出文件夹不存在,则创建它 if not os.path.exists(output_folder): os.makedirs(output_folder) # 3.设置输出图片格式和品质(可选,对于JPEG格式) output_format = 'JPEG' quality = 90 # 0 (最差质量, 最小文件大小) 到 100 (最佳质量, 最大文件大小) # 4.遍历输入文件夹中的所有文件 for filename in os.listdir(input_folder): # 检查文件扩展名,确保只处理图片文件 if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')): # 5.拼接完整的输入和输出文件路径 input_path = os.path.join(input_folder, filename) base_name, ext = os.path.splitext(filename) output_path = os.path.join(output_folder, base_name + '.' + output_format.lower()) print(output_path) # 6.打开图片并保存为新的格式 with Image.open(input_path) as img: img.save(output_path, output_format, quality=quality) print(f'转换完成,图片已保存到 {output_folder}')

3.可以使用Image.resize()方法来调整单张图片的尺寸。如果你想批量修改多个图片的尺寸,你需要写一个循环来遍历所有的图片,并对每张图片调用resize()方法。

导入必要的模块。 设置目标尺寸,即你希望图片调整到的尺寸。 指定包含图片的文件夹路径。 使用os.listdir()遍历文件夹中的所有文件。 检查每个文件是否以常见的图片扩展名结尾(.png, .jpg, .jpeg, .bmp, .gif)。 对于每个图片文件,打开它,使用resize()方法调整其尺寸,并保存到一个新的文件夹中。

# @Author : 小红牛 # 微信公众号:WdPython import os from PIL import Image # 0.把修改后的图片放到output里面(如果不存在则创建) output_folder = 'output_images' if not os.path.exists(output_folder): os.makedirs(output_folder) # 1.设置目标尺寸 target_size = (800, 600) # 新的宽度和高度 # 图片所在的文件夹路径 input_folder = '素材图片' # 2.遍历文件夹中的所有文件 for filename in os.listdir(input_folder): print(filename) # 确保只处理图片文件 if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')): # 3.拼接完整的文件路径 input_path = os.path.join(input_folder, filename) # 打开图片 img = Image.open(input_path) # 4.调整图片尺寸 resized_img = img.resize(target_size, Image.BICUBIC) # 拼接输出文件的完整路径 output_path = os.path.join(output_folder, filename) # 5.保存调整尺寸后的图片 resized_img.save(output_path)

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有